//引入二次封装的axios
import request from "@/utils/request"

//1,登录请求

//登录请求参数的类型
export interface loginParamsType { 
  password: string;
  username: string;
}
//登录请求返回值类型
export interface loginReturnType {
  token: string;  
}
//登录请求函数
export const requestLogin = (loginParams:loginParamsType) => {
    // console.log("api",loginParams);//有数据
    return request.post<any,loginReturnType>("/admin/acl/index/login",loginParams)
}

//2,获取用户信息请求

//获取用户信息返回值类型
export interface userInfoReturnType {
    routes: string[];
    buttons: string[];
    roles: string[];
    name: string;
    avatar: string;
}

//获取用户信息请求函数
//参数token直接通过header携带即可,无需另传
export const requestUserInfo = () => {
    return request.get<any,userInfoReturnType>("/admin/acl/index/info")
}

//3,退出登录请求,无返回值,一般传null类型

//退出登录请求函数,参数token也是在拦截器中由header携带,无需另行传参
export const requestLogout = () => {
    return request.post<any,null>("/admin/acl/index/logout")
}
